namespace Logica
{
    using TUVienna.CS_CUP.Runtime;


    public class interprete_scanner : TUVienna.CS_CUP.Runtime.Scanner
    {
        private const int YY_BUFFER_SIZE = 512;
        private const int YY_F = -1;
        private const int YY_NO_STATE = -1;
        private const int YY_NOT_ACCEPT = 0;
        private const int YY_START = 1;
        private const int YY_END = 2;
        private const int YY_NO_ANCHOR = 4;
        private const int YY_BOL = 128;
        private const int YY_EOF = 129;
        private System.IO.TextReader yy_reader;
        private int yy_buffer_index;
        private int yy_buffer_read;
        private int yy_buffer_start;
        private int yy_buffer_end;
        private char[] yy_buffer;
        private bool yy_at_bol;
        private int yy_lexical_state;

        public interprete_scanner(System.IO.TextReader yy_reader1)
            : this()
        {
            if (null == yy_reader1)
            {
                throw (new System.Exception("Error: Bad input stream initializer."));
            }
            yy_reader = yy_reader1;
        }

        private interprete_scanner()
        {
            yy_buffer = new char[YY_BUFFER_SIZE];
            yy_buffer_read = 0;
            yy_buffer_index = 0;
            yy_buffer_start = 0;
            yy_buffer_end = 0;
            yy_at_bol = true;
            yy_lexical_state = YYINITIAL;
        }

        private bool yy_eof_done = false;
        private const int comment1 = 1;
        private const int YYINITIAL = 0;
        private const int comment2 = 2;
        private static readonly int[] yy_state_dtrans = new int[] {
		0,
		87,
		132
	};
        private void yybegin(int state)
        {
            yy_lexical_state = state;
        }
        private int yy_advance()
        {
            int next_read;
            int i;
            int j;

            if (yy_buffer_index < yy_buffer_read)
            {
                return yy_buffer[yy_buffer_index++];
            }

            if (0 != yy_buffer_start)
            {
                i = yy_buffer_start;
                j = 0;
                while (i < yy_buffer_read)
                {
                    yy_buffer[j] = yy_buffer[i];
                    ++i;
                    ++j;
                }
                yy_buffer_end = yy_buffer_end - yy_buffer_start;
                yy_buffer_start = 0;
                yy_buffer_read = j;
                yy_buffer_index = j;
                next_read = yy_reader.Read(yy_buffer,
                        yy_buffer_read,
                        yy_buffer.Length - yy_buffer_read);
                if (next_read <= 0)
                {
                    return YY_EOF;
                }
                yy_buffer_read = yy_buffer_read + next_read;
            }

            while (yy_buffer_index >= yy_buffer_read)
            {
                if (yy_buffer_index >= yy_buffer.Length)
                {
                    yy_buffer = yy_double(yy_buffer);
                }
                next_read = yy_reader.Read(yy_buffer,
                        yy_buffer_read,
                        yy_buffer.Length - yy_buffer_read);
                if (next_read <= 0)
                {
                    return YY_EOF;
                }
                yy_buffer_read = yy_buffer_read + next_read;
            }
            return yy_buffer[yy_buffer_index++];
        }
        private void yy_move_end()
        {
            if (yy_buffer_end > yy_buffer_start &&
                '\n' == yy_buffer[yy_buffer_end - 1])
                yy_buffer_end--;
            if (yy_buffer_end > yy_buffer_start &&
                '\r' == yy_buffer[yy_buffer_end - 1])
                yy_buffer_end--;
        }
        private bool yy_last_was_cr = false;
        private void yy_mark_start()
        {
            yy_buffer_start = yy_buffer_index;
        }
        private void yy_mark_end()
        {
            yy_buffer_end = yy_buffer_index;
        }
        private void yy_to_mark()
        {
            yy_buffer_index = yy_buffer_end;
            yy_at_bol = (yy_buffer_end > yy_buffer_start) &&
                        ('\r' == yy_buffer[yy_buffer_end - 1] ||
                         '\n' == yy_buffer[yy_buffer_end - 1] ||
                         2028/*LS*/ == yy_buffer[yy_buffer_end - 1] ||
                         2029/*PS*/ == yy_buffer[yy_buffer_end - 1]);
        }
        private string yytext()
        {
            return (new string(yy_buffer,
                yy_buffer_start,
                yy_buffer_end - yy_buffer_start));
        }
        private int yylength()
        {
            return yy_buffer_end - yy_buffer_start;
        }
        private char[] yy_double(char[] buf)
        {
            int i;
            char[] newbuf;
            newbuf = new char[2 * buf.Length];
            for (i = 0; i < buf.Length; ++i)
            {
                newbuf[i] = buf[i];
            }
            return newbuf;
        }
        private const int YY_E_INTERNAL = 0;
        private const int YY_E_MATCH = 1;
        private string[] yy_error_string = {
		"Error: Internal error.\n",
		"Error: Unmatched input.\n"
	};
        private void yy_error(int code, bool fatal)
        {
            System.Console.Write(yy_error_string[code]);
            System.Console.Out.Flush();
            if (fatal)
            {
                throw new System.Exception("Fatal Error.\n");
            }
        }
        private static int[][] unpackFromString(int size1, int size2, string st)
        {
            int colonIndex = -1;
            string lengthString;
            int sequenceLength = 0;
            int sequenceInteger = 0;

            int commaIndex;
            string workString;

            int[][] res = new int[size1][];
            for (int i = 0; i < size1; i++) res[i] = new int[size2];
            for (int i = 0; i < size1; i++)
            {
                for (int j = 0; j < size2; j++)
                {
                    if (sequenceLength != 0)
                    {
                        res[i][j] = sequenceInteger;
                        sequenceLength--;
                        continue;
                    }
                    commaIndex = st.IndexOf(',');
                    workString = (commaIndex == -1) ? st :
                        st.Substring(0, commaIndex);
                    st = st.Substring(commaIndex + 1);
                    colonIndex = workString.IndexOf(':');
                    if (colonIndex == -1)
                    {
                        res[i][j] = System.Int32.Parse(workString);
                        continue;
                    }
                    lengthString =
                        workString.Substring(colonIndex + 1);
                    sequenceLength = System.Int32.Parse(lengthString);
                    workString = workString.Substring(0, colonIndex);
                    sequenceInteger = System.Int32.Parse(workString);
                    res[i][j] = sequenceInteger;
                    sequenceLength--;
                }
            }
            return res;
        }
        private int[] yy_acpt = {
		/* 0 */ YY_NOT_ACCEPT,
		/* 1 */ YY_NO_ANCHOR,
		/* 2 */ YY_NO_ANCHOR,
		/* 3 */ YY_NO_ANCHOR,
		/* 4 */ YY_NO_ANCHOR,
		/* 5 */ YY_NO_ANCHOR,
		/* 6 */ YY_NO_ANCHOR,
		/* 7 */ YY_NO_ANCHOR,
		/* 8 */ YY_NO_ANCHOR,
		/* 9 */ YY_NO_ANCHOR,
		/* 10 */ YY_NO_ANCHOR,
		/* 11 */ YY_NO_ANCHOR,
		/* 12 */ YY_NO_ANCHOR,
		/* 13 */ YY_NO_ANCHOR,
		/* 14 */ YY_NO_ANCHOR,
		/* 15 */ YY_NO_ANCHOR,
		/* 16 */ YY_NO_ANCHOR,
		/* 17 */ YY_NO_ANCHOR,
		/* 18 */ YY_NO_ANCHOR,
		/* 19 */ YY_NO_ANCHOR,
		/* 20 */ YY_NO_ANCHOR,
		/* 21 */ YY_NO_ANCHOR,
		/* 22 */ YY_NO_ANCHOR,
		/* 23 */ YY_NO_ANCHOR,
		/* 24 */ YY_NO_ANCHOR,
		/* 25 */ YY_NO_ANCHOR,
		/* 26 */ YY_NO_ANCHOR,
		/* 27 */ YY_NO_ANCHOR,
		/* 28 */ YY_NO_ANCHOR,
		/* 29 */ YY_NO_ANCHOR,
		/* 30 */ YY_NO_ANCHOR,
		/* 31 */ YY_NO_ANCHOR,
		/* 32 */ YY_NO_ANCHOR,
		/* 33 */ YY_NO_ANCHOR,
		/* 34 */ YY_NO_ANCHOR,
		/* 35 */ YY_NO_ANCHOR,
		/* 36 */ YY_NO_ANCHOR,
		/* 37 */ YY_NO_ANCHOR,
		/* 38 */ YY_NO_ANCHOR,
		/* 39 */ YY_NO_ANCHOR,
		/* 40 */ YY_NO_ANCHOR,
		/* 41 */ YY_NO_ANCHOR,
		/* 42 */ YY_NO_ANCHOR,
		/* 43 */ YY_NO_ANCHOR,
		/* 44 */ YY_NO_ANCHOR,
		/* 45 */ YY_NO_ANCHOR,
		/* 46 */ YY_NO_ANCHOR,
		/* 47 */ YY_NO_ANCHOR,
		/* 48 */ YY_NO_ANCHOR,
		/* 49 */ YY_NO_ANCHOR,
		/* 50 */ YY_NO_ANCHOR,
		/* 51 */ YY_NO_ANCHOR,
		/* 52 */ YY_NO_ANCHOR,
		/* 53 */ YY_NOT_ACCEPT,
		/* 54 */ YY_NO_ANCHOR,
		/* 55 */ YY_NO_ANCHOR,
		/* 56 */ YY_NO_ANCHOR,
		/* 57 */ YY_NO_ANCHOR,
		/* 58 */ YY_NO_ANCHOR,
		/* 59 */ YY_NO_ANCHOR,
		/* 60 */ YY_NO_ANCHOR,
		/* 61 */ YY_NO_ANCHOR,
		/* 62 */ YY_NO_ANCHOR,
		/* 63 */ YY_NO_ANCHOR,
		/* 64 */ YY_NO_ANCHOR,
		/* 65 */ YY_NO_ANCHOR,
		/* 66 */ YY_NO_ANCHOR,
		/* 67 */ YY_NO_ANCHOR,
		/* 68 */ YY_NO_ANCHOR,
		/* 69 */ YY_NO_ANCHOR,
		/* 70 */ YY_NOT_ACCEPT,
		/* 71 */ YY_NO_ANCHOR,
		/* 72 */ YY_NO_ANCHOR,
		/* 73 */ YY_NO_ANCHOR,
		/* 74 */ YY_NO_ANCHOR,
		/* 75 */ YY_NOT_ACCEPT,
		/* 76 */ YY_NO_ANCHOR,
		/* 77 */ YY_NO_ANCHOR,
		/* 78 */ YY_NO_ANCHOR,
		/* 79 */ YY_NOT_ACCEPT,
		/* 80 */ YY_NO_ANCHOR,
		/* 81 */ YY_NO_ANCHOR,
		/* 82 */ YY_NO_ANCHOR,
		/* 83 */ YY_NOT_ACCEPT,
		/* 84 */ YY_NO_ANCHOR,
		/* 85 */ YY_NO_ANCHOR,
		/* 86 */ YY_NO_ANCHOR,
		/* 87 */ YY_NOT_ACCEPT,
		/* 88 */ YY_NO_ANCHOR,
		/* 89 */ YY_NO_ANCHOR,
		/* 90 */ YY_NO_ANCHOR,
		/* 91 */ YY_NOT_ACCEPT,
		/* 92 */ YY_NO_ANCHOR,
		/* 93 */ YY_NO_ANCHOR,
		/* 94 */ YY_NO_ANCHOR,
		/* 95 */ YY_NOT_ACCEPT,
		/* 96 */ YY_NO_ANCHOR,
		/* 97 */ YY_NO_ANCHOR,
		/* 98 */ YY_NO_ANCHOR,
		/* 99 */ YY_NOT_ACCEPT,
		/* 100 */ YY_NO_ANCHOR,
		/* 101 */ YY_NO_ANCHOR,
		/* 102 */ YY_NO_ANCHOR,
		/* 103 */ YY_NOT_ACCEPT,
		/* 104 */ YY_NO_ANCHOR,
		/* 105 */ YY_NO_ANCHOR,
		/* 106 */ YY_NO_ANCHOR,
		/* 107 */ YY_NOT_ACCEPT,
		/* 108 */ YY_NO_ANCHOR,
		/* 109 */ YY_NO_ANCHOR,
		/* 110 */ YY_NO_ANCHOR,
		/* 111 */ YY_NOT_ACCEPT,
		/* 112 */ YY_NO_ANCHOR,
		/* 113 */ YY_NO_ANCHOR,
		/* 114 */ YY_NOT_ACCEPT,
		/* 115 */ YY_NO_ANCHOR,
		/* 116 */ YY_NOT_ACCEPT,
		/* 117 */ YY_NO_ANCHOR,
		/* 118 */ YY_NOT_ACCEPT,
		/* 119 */ YY_NO_ANCHOR,
		/* 120 */ YY_NOT_ACCEPT,
		/* 121 */ YY_NOT_ACCEPT,
		/* 122 */ YY_NOT_ACCEPT,
		/* 123 */ YY_NOT_ACCEPT,
		/* 124 */ YY_NOT_ACCEPT,
		/* 125 */ YY_NOT_ACCEPT,
		/* 126 */ YY_NOT_ACCEPT,
		/* 127 */ YY_NOT_ACCEPT,
		/* 128 */ YY_NOT_ACCEPT,
		/* 129 */ YY_NOT_ACCEPT,
		/* 130 */ YY_NOT_ACCEPT,
		/* 131 */ YY_NOT_ACCEPT,
		/* 132 */ YY_NOT_ACCEPT,
		/* 133 */ YY_NO_ANCHOR,
		/* 134 */ YY_NO_ANCHOR,
		/* 135 */ YY_NO_ANCHOR,
		/* 136 */ YY_NOT_ACCEPT,
		/* 137 */ YY_NOT_ACCEPT,
		/* 138 */ YY_NO_ANCHOR,
		/* 139 */ YY_NOT_ACCEPT,
		/* 140 */ YY_NO_ANCHOR,
		/* 141 */ YY_NOT_ACCEPT,
		/* 142 */ YY_NO_ANCHOR,
		/* 143 */ YY_NOT_ACCEPT,
		/* 144 */ YY_NO_ANCHOR,
		/* 145 */ YY_NO_ANCHOR,
		/* 146 */ YY_NO_ANCHOR,
		/* 147 */ YY_NO_ANCHOR,
		/* 148 */ YY_NO_ANCHOR,
		/* 149 */ YY_NO_ANCHOR,
		/* 150 */ YY_NO_ANCHOR,
		/* 151 */ YY_NO_ANCHOR,
		/* 152 */ YY_NO_ANCHOR,
		/* 153 */ YY_NO_ANCHOR,
		/* 154 */ YY_NO_ANCHOR,
		/* 155 */ YY_NO_ANCHOR,
		/* 156 */ YY_NO_ANCHOR,
		/* 157 */ YY_NO_ANCHOR
	};
        private int[] yy_cmap = unpackFromString(1, 130,
    "4:8,5,50,3,4,51,49,4:18,50,43,47,6,4,42,4:2,32,33,2,40,28,41,18,1,30,45:9,3" +
    "7,23,14,22,20,4:2,46:11,38,46:14,26,48,27,4,29,4,25,46,9,12,13,39,36,19,7,4" +
    "6:2,10,21,8,17,24,46,44,15,16,11,31,46:4,34,4,35,4:2,0:2")[0];

        private int[] yy_rmap = unpackFromString(1, 158,
    "0,1,2,1:4,3,4,5,6,7,1,8,1:3,9,1:10,10,1,11,1:2,12,1:2,10,13,10:9,1:6,14,15," +
    "10,1,14,1:10,16,17,18,14,19,17,4,20,21,4,22,23,24,22,25,26,13,25,5,27,28,5," +
    "29,30,31,29,7,32,33,7,34,35,36,34,37,38,39,37,40,41,42,40,15,43,44,15,45,46" +
    ",47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65:2,66,67,68,69,70," +
    "71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87")[0];

        private int[][] yy_nxt = unpackFromString(88, 52,
    "1,2,3,4,5:2,6,7,55:6,8,157,72,55,5,55,9,10,11,12,13,55,14,15,16,5,17,149,18" +
    ",19,20,21,150,22,76,55,23,24,25,54,55,17,55,71,5,4:3,-1:53,26,27,-1:56,55,8" +
    "0,55:5,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55,28,-1:4,55:3,-" +
    "1:27,29,-1:51,31,-1:36,55:6,88,-1,55:3,-1,55,-1,55,-1:2,55,138,-1:3,55:3,-1" +
    ":4,55,-1,55:2,-1:4,55:3,-1:27,32,-1:36,140,55:6,-1,55:3,-1,55,-1,55,-1:2,55" +
    ":2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,155,55:2,-1:35,17,-1:14,17,-1:13,55:7,-1," +
    "55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,55:7,-" +
    "1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55,30,55,-1:4,55,-1,55:2,-1:4,55,30,55,-1" +
    ":12,55:7,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55,33,55,-1:4,55,-1,55:2,-1:4,5" +
    "5,33,55,-1:12,55:7,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55,37,55,-1:4,55,-1,5" +
    "5:2,-1:4,55,37,55,-1:6,53:2,-1,53:43,35,70,53:3,-1:22,34,-1:30,50,-1:58,91," +
    "-1:30,56,-1:13,53:2,75,53,79,53:41,57,70,53,79,53,-1:7,55:7,-1,55:3,-1,55,-" +
    "1,84,-1:2,55:2,-1:3,133,30,55,-1:4,55,-1,55:2,-1:4,55,30,55,-1:8,75,-1,75,-" +
    "1:42,53,-1,75,-1:8,55:7,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55,33,55,-1:4,55" +
    ",-1,55,145,-1:4,55,33,55,-1:21,95,-1:36,53:2,75,53,79,53:41,35,70,53,79,53," +
    "-1:7,55:2,156,55:4,-1,55,36,55,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,5" +
    "5:2,-1:4,55:3,-1:34,99,-1:41,47,-1:32,1,48,68,49,48,49,48,73,48:6,77,81,85," +
    "48:3,89,93,97,48,101,48:6,105,48:4,135,48,109,48:4,113,48:5,4,49,48,-1:7,55" +
    ":7,-1,55:3,-1,55,-1,38,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:18," +
    "103,-1:11,107,-1:35,137,-1:6,58,-1:42,55:7,-1,55:3,-1,55,-1,55,-1:2,55:2,-1" +
    ":3,55,39,55,-1:4,55,-1,55:2,-1:4,55:3,-1:17,143,-1:46,55,40,55:5,-1,55:3,-1" +
    ",55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,111,-1:36,136" +
    ",-1:36,116,-1:29,55:7,-1,55:3,-1,55,-1,55,-1:2,55,41,-1:3,55:3,-1:4,55,-1,5" +
    "5:2,-1:4,55:3,-1:22,139,-1:55,59,-1:37,55:5,42,55,-1,55:3,-1,55,-1,55,-1:2," +
    "55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:44,141,-1:19,118,-1:51,55:7,-1," +
    "55:2,43,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:15,120" +
    ",-1:48,55,44,55:5,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-" +
    "1:4,55:3,-1:21,123,-1:42,55:7,-1,55:3,83,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4," +
    "55,-1,55:2,-1:4,55:3,-1:35,60,-1:28,55:7,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3" +
    ",55:3,-1:4,55,-1,55,45,-1:4,55:3,-1:13,61,-1:50,55:6,46,-1,55:3,-1,55,-1,55" +
    ",-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:30,62,-1:34,127,-1:55,63," +
    "-1:56,64,-1:42,65,-1:54,128,-1:57,129,-1:50,130,-1:47,131,-1:57,83,-1:72,66" +
    ",-1:25,67,-1:38,1,51:2,52,51:3,69,51:6,74,78,82,51:3,86,90,94,51,98,51:6,10" +
    "2,51:4,134,51,106,51:4,110,51:5,4,51:2,-1:7,55:7,-1,55:3,-1,55,-1,55,-1:2,5" +
    "5:2,-1:3,92,55:2,-1:4,55,-1,55:2,-1:4,55:3,-1:22,114,-1:41,121,-1:54,125,-1" +
    ":48,96,55:6,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55" +
    ":3,-1:12,122,-1:51,55:3,100,55:3,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1" +
    ":4,55,-1,55:2,-1:4,55:3,-1:12,124,-1:51,104,55:6,-1,55:3,-1,55,-1,55,-1:2,5" +
    "5:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,126,-1:51,55:7,-1,55,108,55,-" +
    "1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,112,55:6,-1," +
    "55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,55:7,-" +
    "1,55:2,115,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12," +
    "55:7,-1,55,117,55,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3" +
    ",-1:12,55:5,119,55,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2," +
    "-1:4,55:3,-1:12,55:7,-1,55:2,142,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1" +
    ",55:2,-1:4,55:3,-1:12,55:7,-1,55:2,144,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4" +
    ",55,-1,55:2,-1:4,55:3,-1:12,146,55:6,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:" +
    "3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,55,147,55:5,-1,55:3,-1,55,-1,55,-1:2,55:2" +
    ",-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,55:4,148,55:2,-1,55:3,-1,55,-1,5" +
    "5,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,55:5,151,55,-1,55:3,-" +
    "1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,152,55:6,-1," +
    "55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-1:12,55:3,1" +
    "53,55:3,-1,55:3,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4,55:3,-" +
    "1:12,55:7,-1,55,154,55,-1,55,-1,55,-1:2,55:2,-1:3,55:3,-1:4,55,-1,55:2,-1:4" +
    ",55:3,-1:5");

        public TUVienna.CS_CUP.Runtime.Symbol next_token()
        {
            int yy_lookahead;
            int yy_anchor = YY_NO_ANCHOR;
            int yy_state = yy_state_dtrans[yy_lexical_state];
            int yy_next_state = YY_NO_STATE;
            int yy_last_accept_state = YY_NO_STATE;
            bool yy_initial = true;
            int yy_this_accept;

            yy_mark_start();
            yy_this_accept = yy_acpt[yy_state];
            if (YY_NOT_ACCEPT != yy_this_accept)
            {
                yy_last_accept_state = yy_state;
                yy_mark_end();
            }
            while (true)
            {
                if (yy_initial && yy_at_bol) yy_lookahead = YY_BOL;
                else yy_lookahead = yy_advance();
                yy_next_state = YY_F;
                yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]];
                if (YY_EOF == yy_lookahead && true == yy_initial)
                {
                    return null;
                }
                if (YY_F != yy_next_state)
                {
                    yy_state = yy_next_state;
                    yy_initial = false;
                    yy_this_accept = yy_acpt[yy_state];
                    if (YY_NOT_ACCEPT != yy_this_accept)
                    {
                        yy_last_accept_state = yy_state;
                        yy_mark_end();
                    }
                }
                else
                {
                    if (YY_NO_STATE == yy_last_accept_state)
                    {
                        throw (new System.Exception("Lexical Error: Unmatched Input."));
                    }
                    else
                    {
                        yy_anchor = yy_acpt[yy_last_accept_state];
                        if (0 != (YY_END & yy_anchor))
                        {
                            yy_move_end();
                        }
                        yy_to_mark();
                        switch (yy_last_accept_state)
                        {
                            case 1:
                                break;
                            case -2:
                                break;
                            case 2:
                                { System.Console.Out.WriteLine("diagonal"); return new Symbol(interprete_sym.diagonal); }
                            case -3:
                                break;
                            case 3:
                                { System.Console.Out.WriteLine("multiplicar"); return new Symbol(interprete_sym.multiplicar); }
                            case -4:
                                break;
                            case 4:
                                { /* ignore white space. */break; }
                            case -5:
                                break;
                            case 5:
                                { System.Console.Error.WriteLine("Illegal character: " + yytext()); break; }
                            case -6:
                                break;
                            case 6:
                                { System.Console.Out.WriteLine("numeral"); return new Symbol(interprete_sym.numeral); }
                            case -7:
                                break;
                            case 7:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -8:
                                break;
                            case 8:
                                { System.Console.Out.WriteLine("menorque"); return new Symbol(interprete_sym.menorque); }
                            case -9:
                                break;
                            case 9:
                                { System.Console.Out.WriteLine("mayorque"); return new Symbol(interprete_sym.mayorque); }
                            case -10:
                                break;
                            case 10:
                                { System.Console.Out.WriteLine("m"); return new Symbol(interprete_sym.m); }
                            case -11:
                                break;
                            case 11:
                                { System.Console.Out.WriteLine("igual"); return new Symbol(interprete_sym.igual); }
                            case -12:
                                break;
                            case 12:
                                { System.Console.Out.WriteLine("puntocoma"); return new Symbol(interprete_sym.puntocoma); }
                            case -13:
                                break;
                            case 13:
                                { System.Console.Out.WriteLine("p"); return new Symbol(interprete_sym.p); }
                            case -14:
                                break;
                            case 14:
                                { System.Console.Out.WriteLine("abrecorchete"); return new Symbol(interprete_sym.abrecorchete); }
                            case -15:
                                break;
                            case 15:
                                { System.Console.Out.WriteLine("cierracorchete"); return new Symbol(interprete_sym.cierracorchete); }
                            case -16:
                                break;
                            case 16:
                                { System.Console.Out.WriteLine("coma"); return new Symbol(interprete_sym.coma); }
                            case -17:
                                break;
                            case 17:
                                { System.Console.Out.WriteLine("numero"); return (new Symbol(interprete_sym.numero, yytext())); }
                            case -18:
                                break;
                            case 18:
                                { System.Console.Out.WriteLine("abreparentesis"); return new Symbol(interprete_sym.abreparentesis); }
                            case -19:
                                break;
                            case 19:
                                { System.Console.Out.WriteLine("cierraparentesis"); return new Symbol(interprete_sym.cierraparentesis); }
                            case -20:
                                break;
                            case 20:
                                { System.Console.Out.WriteLine("abrellave"); return new Symbol(interprete_sym.abrellave); }
                            case -21:
                                break;
                            case 21:
                                { System.Console.Out.WriteLine("cierrallave"); return new Symbol(interprete_sym.cierrallave); }
                            case -22:
                                break;
                            case 22:
                                { System.Console.Out.WriteLine("dospuntos"); return new Symbol(interprete_sym.dospuntos); }
                            case -23:
                                break;
                            case 23:
                                { System.Console.Out.WriteLine("mas"); return new Symbol(interprete_sym.mas); }
                            case -24:
                                break;
                            case 24:
                                { System.Console.Out.WriteLine("menos"); return new Symbol(interprete_sym.menos); }
                            case -25:
                                break;
                            case 25:
                                { System.Console.Out.WriteLine("mod"); return new Symbol(interprete_sym.mod); }
                            case -26:
                                break;
                            case 26:
                                { yybegin(comment2); break; }
                            case -27:
                                break;
                            case 27:
                                { yybegin(comment1); break; }
                            case -28:
                                break;
                            case 28:
                                { System.Console.Out.WriteLine("tk_if"); return new Symbol(interprete_sym.tk_if); }
                            case -29:
                                break;
                            case 29:
                                { System.Console.Out.WriteLine("menorigual"); return new Symbol(interprete_sym.menorigual); }
                            case -30:
                                break;
                            case 30:
                                { System.Console.Out.WriteLine("temporal"); return (new Symbol(interprete_sym.temporal, yytext())); }
                            case -31:
                                break;
                            case 31:
                                { System.Console.Out.WriteLine("mayorigual"); return new Symbol(interprete_sym.mayorigual); }
                            case -32:
                                break;
                            case 32:
                                { System.Console.Out.WriteLine("igualigual"); return new Symbol(interprete_sym.igualigual); }
                            case -33:
                                break;
                            case 33:
                                { System.Console.Out.WriteLine("etiqueta"); return (new Symbol(interprete_sym.etiqueta, yytext())); }
                            case -34:
                                break;
                            case 34:
                                { System.Console.Out.WriteLine("diferente"); return new Symbol(interprete_sym.diferente); }
                            case -35:
                                break;
                            case 35:
                                {
                                    System.Console.Out.WriteLine(yytext().Substring(1, yytext().Length - 2)); return new Symbol(interprete_sym.cadena, yytext().Substring(1, yytext().Length - 2));
                                }
                            case -36:
                                break;
                            case 36:
                                { System.Console.Out.WriteLine("tk_int"); return new Symbol(interprete_sym.tk_int); }
                            case -37:
                                break;
                            case 37:
                                { System.Console.Out.WriteLine("temporal"); return (new Symbol(interprete_sym.temporal, yytext())); }
                            case -38:
                                break;
                            case 38:
                                { System.Console.Out.WriteLine("mem"); return new Symbol(interprete_sym.mem); }
                            case -39:
                                break;
                            case 39:
                                { System.Console.Out.WriteLine("temporal_fin"); return new Symbol(interprete_sym.temporal_fin); }
                            case -40:
                                break;
                            case 40:
                                { System.Console.Out.WriteLine("tk_main"); return new Symbol(interprete_sym.tk_main); }
                            case -41:
                                break;
                            case 41:
                                { System.Console.Out.WriteLine("pila"); return new Symbol(interprete_sym.pila); }
                            case -42:
                                break;
                            case 42:
                                { System.Console.Out.WriteLine("tk_void"); return new Symbol(interprete_sym.tk_void); }
                            case -43:
                                break;
                            case 43:
                                { System.Console.Out.WriteLine("tk_goto"); return new Symbol(interprete_sym.tk_goto); }
                            case -44:
                                break;
                            case 44:
                                { System.Console.Out.WriteLine("etiqueta_fin"); return new Symbol(interprete_sym.etiqueta_fin); }
                            case -45:
                                break;
                            case 45:
                                { System.Console.Out.WriteLine("printf"); return new Symbol(interprete_sym.printf); }
                            case -46:
                                break;
                            case 46:
                                { System.Console.Out.WriteLine("include"); return new Symbol(interprete_sym.include); }
                            case -47:
                                break;
                            case 47:
                                { System.Console.Out.WriteLine("stdio"); return new Symbol(interprete_sym.stdio); }
                            case -48:
                                break;
                            case 48:
                                { break; }
                            case -49:
                                break;
                            case 49:
                                { break; }
                            case -50:
                                break;
                            case 50:
                                { yybegin(YYINITIAL); break; }
                            case -51:
                                break;
                            case 51:
                                { break; }
                            case -52:
                                break;
                            case 52:
                                { yybegin(YYINITIAL); break; }
                            case -53:
                                break;
                            case 54:
                                { System.Console.Error.WriteLine("Illegal character: " + yytext()); break; }
                            case -54:
                                break;
                            case 55:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -55:
                                break;
                            case 56:
                                { System.Console.Out.WriteLine("tk_if"); return new Symbol(interprete_sym.tk_if); }
                            case -56:
                                break;
                            case 57:
                                {
                                    System.Console.Out.WriteLine(yytext().Substring(1, yytext().Length - 2)); return new Symbol(interprete_sym.cadena, yytext().Substring(1, yytext().Length - 2));
                                }
                            case -57:
                                break;
                            case 58:
                                { System.Console.Out.WriteLine("tk_int"); return new Symbol(interprete_sym.tk_int); }
                            case -58:
                                break;
                            case 59:
                                { System.Console.Out.WriteLine("mem"); return new Symbol(interprete_sym.mem); }
                            case -59:
                                break;
                            case 60:
                                { System.Console.Out.WriteLine("temporal_fin"); return new Symbol(interprete_sym.temporal_fin); }
                            case -60:
                                break;
                            case 61:
                                { System.Console.Out.WriteLine("tk_main"); return new Symbol(interprete_sym.tk_main); }
                            case -61:
                                break;
                            case 62:
                                { System.Console.Out.WriteLine("pila"); return new Symbol(interprete_sym.pila); }
                            case -62:
                                break;
                            case 63:
                                { System.Console.Out.WriteLine("tk_void"); return new Symbol(interprete_sym.tk_void); }
                            case -63:
                                break;
                            case 64:
                                { System.Console.Out.WriteLine("tk_goto"); return new Symbol(interprete_sym.tk_goto); }
                            case -64:
                                break;
                            case 65:
                                { System.Console.Out.WriteLine("etiqueta_fin"); return new Symbol(interprete_sym.etiqueta_fin); }
                            case -65:
                                break;
                            case 66:
                                { System.Console.Out.WriteLine("printf"); return new Symbol(interprete_sym.printf); }
                            case -66:
                                break;
                            case 67:
                                { System.Console.Out.WriteLine("include"); return new Symbol(interprete_sym.include); }
                            case -67:
                                break;
                            case 68:
                                { break; }
                            case -68:
                                break;
                            case 69:
                                { break; }
                            case -69:
                                break;
                            case 71:
                                { System.Console.Error.WriteLine("Illegal character: " + yytext()); break; }
                            case -70:
                                break;
                            case 72:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -71:
                                break;
                            case 73:
                                { break; }
                            case -72:
                                break;
                            case 74:
                                { break; }
                            case -73:
                                break;
                            case 76:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -74:
                                break;
                            case 77:
                                { break; }
                            case -75:
                                break;
                            case 78:
                                { break; }
                            case -76:
                                break;
                            case 80:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -77:
                                break;
                            case 81:
                                { break; }
                            case -78:
                                break;
                            case 82:
                                { break; }
                            case -79:
                                break;
                            case 84:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -80:
                                break;
                            case 85:
                                { break; }
                            case -81:
                                break;
                            case 86:
                                { break; }
                            case -82:
                                break;
                            case 88:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -83:
                                break;
                            case 89:
                                { break; }
                            case -84:
                                break;
                            case 90:
                                { break; }
                            case -85:
                                break;
                            case 92:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -86:
                                break;
                            case 93:
                                { break; }
                            case -87:
                                break;
                            case 94:
                                { break; }
                            case -88:
                                break;
                            case 96:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -89:
                                break;
                            case 97:
                                { break; }
                            case -90:
                                break;
                            case 98:
                                { break; }
                            case -91:
                                break;
                            case 100:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -92:
                                break;
                            case 101:
                                { break; }
                            case -93:
                                break;
                            case 102:
                                { break; }
                            case -94:
                                break;
                            case 104:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -95:
                                break;
                            case 105:
                                { break; }
                            case -96:
                                break;
                            case 106:
                                { break; }
                            case -97:
                                break;
                            case 108:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -98:
                                break;
                            case 109:
                                { break; }
                            case -99:
                                break;
                            case 110:
                                { break; }
                            case -100:
                                break;
                            case 112:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -101:
                                break;
                            case 113:
                                { break; }
                            case -102:
                                break;
                            case 115:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -103:
                                break;
                            case 117:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -104:
                                break;
                            case 119:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -105:
                                break;
                            case 133:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -106:
                                break;
                            case 134:
                                { break; }
                            case -107:
                                break;
                            case 135:
                                { break; }
                            case -108:
                                break;
                            case 138:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -109:
                                break;
                            case 140:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -110:
                                break;
                            case 142:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -111:
                                break;
                            case 144:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -112:
                                break;
                            case 145:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -113:
                                break;
                            case 146:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -114:
                                break;
                            case 147:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -115:
                                break;
                            case 148:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -116:
                                break;
                            case 149:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -117:
                                break;
                            case 150:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -118:
                                break;
                            case 151:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -119:
                                break;
                            case 152:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -120:
                                break;
                            case 153:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -121:
                                break;
                            case 154:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -122:
                                break;
                            case 155:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -123:
                                break;
                            case 156:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -124:
                                break;
                            case 157:
                                {
                                    System.Console.Out.WriteLine(yytext()); return (new Symbol(interprete_sym.identificador, yytext()));
                                }
                            case -125:
                                break;
                            default:
                                yy_error(YY_E_INTERNAL, false); break;
                        }
                        yy_initial = true;
                        yy_state = yy_state_dtrans[yy_lexical_state];
                        yy_next_state = YY_NO_STATE;
                        yy_last_accept_state = YY_NO_STATE;
                        yy_mark_start();
                        yy_this_accept = yy_acpt[yy_state];
                        if (YY_NOT_ACCEPT != yy_this_accept)
                        {
                            yy_last_accept_state = yy_state;
                            yy_mark_end();
                        }
                    }
                }
            }
        }
    }
}